#include "../header.h"

/**
 * @函数原型: time_t time(time_t *tloc);
 * @函数功能: time - get time in seconds  获取秒数。
 * @参数说明: 
 * @       参数1: tloc ： 输出型参数。
 * @返回值: 当前时间 s，从1970年到现在。
 *  time() returns the time as the number of seconds since the Epoch, 1970-01-01 00:00:00 +0000 (UTC).
 * @param {int} argc
 */

/**
 * @函数原型: struct tm *gmtime(const time_t *timep);
 * @函数功能: 把s转换成 时间结构体，时间结构体是 国际时间。
 * @参数说明: 
 * @       参数1: timep ： 秒数指针。
 * @返回值: 时间结构体。
 * @param {int} argc
 */
/**
 * @函数原型: char *asctime(const struct tm *tm);
 * @函数功能: 将时间结构体转换成字符串形式
 * @参数说明: 
 * @       参数1: tm 时间结构体指针。
 * @返回值: 字符串时间
 * @param {int} argc
 */
/**
 * @函数原型: struct tm *localtime(const time_t *timep);
 * @函数功能: 将秒数转换成时间结构体-当地时间结构体。
 * @参数说明: 
 * @       参数1: timep：当地时间秒数指针。
 * @返回值: 当地时间结构体指针。
 * @param {int} argc
 */
int main(int argc, char const *argv[])
{
    //! 1time用法
    time_t tm1 = 0;
    time_t tm2 = time(&tm1);
    printf("tm1:%ld tm2:%ld\n",tm1,tm2);

    //! 2 gmtime 用法
    struct tm *timp =  gmtime(&tm1);
    printf("年:%d 月：%d 日:%d 时：%d 分:%d 秒:%d\n",timp->tm_year+1900,timp->tm_mon+1,timp->tm_mday,timp->tm_hour+8,timp->tm_min,timp->tm_sec);

    //? 3 asctime  欧洲标准时间
    char * tims = asctime(timp);
    printf("tims:%s\n",tims);

    //? 4 当地时间
    printf("当地时间是:%s\n",asctime(localtime(&tm2)));

    //? 5 ctime
    
    return 0;
}
